package com.zh.elec.commons;

public class Pager {
	private int totalRows;//总行数
	private int pageSize = 10;//每页显示行数
	private int currentPage;//当前页数,从 1 开始
	private int totalPages;//总页数
	private int startRow;//当前页在数据库中的起始行，从 0 开始
	
	public Pager(){}
	
	public Pager(int _totalRows){
		totalRows = _totalRows;
		totalPages = totalRows/pageSize;
		int mod = totalRows%pageSize;
		if(mod > 0){
			totalPages ++;
		}
		currentPage = 1;
		startRow = 0;
	}
	
	public int getTotalRows() {
		return totalRows;
	}
	public void setTotalRows(int totalRows) {
		this.totalRows = totalRows;
	}
	public int getPageSize() {
		return pageSize;
	}
	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}
	public int getCurrentPage() {
		return currentPage;
	}
	public void setCurrentPage(int currentPage) {
		this.currentPage = currentPage;
	}
	public int getTotalPages() {
		return totalPages;
	}
	public void setTotalPages(int totalPages) {
		this.totalPages = totalPages;
	}
	public int getStartRow() {
		return startRow;
	}
	public void setStartRow(int startRow) {
		this.startRow = startRow;
	}
	/**
	 * 第一页
	 */
	public void first(){
		currentPage = 1;
		startRow = 0;
	}
	
	/**
	 * 上一页
	 */
	public void previous(){
		if(currentPage == 1){
			return ;
		}
		currentPage --;
		startRow = (currentPage -1)*pageSize;
	}
	/**
	 * 下一页
	 */
	public void next(){
		if(currentPage < totalPages){
			currentPage++ ;
		}
		startRow = (currentPage -1)*pageSize;
	}
	
	/**
	 * 最后一页
	 */
	public void last(){
		currentPage = totalPages;
		startRow = (currentPage -1)*pageSize;
	}
	
	/**
	 * 刷新
	 */
	public void refresh(int _currentPage ){
		currentPage = _currentPage;
		
		if(currentPage > totalPages){
			last();
		}
	}
}
